En la versión 1.8.0.2 en Oracle de un cliente esta dando el siguiente inconveniente al intentar ingresar a Solicitud de Horas extras y a solicitud de Descuentos Eventuales desde el Portal. Errores desde el elmah: SOLICITUD HORAS EXTRAS Oracle.ManagedDataAccess.Client.OracleExceptionORA-00972: el identificador es demasiado largo System.Data.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> Oracle.ManagedDataAccess.Client.OracleException: ORA-00972: el identificador es demasiado largo
at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)
at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int32 lobPrefetchSize, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Boolean isDescribeOnly, Boolean isFromEF)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
--- End of inner exception stack trace ---
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
at System.Data.Objects.Internal.ObjectQueryExecutionPlan.ExecuteTResultType
at System.Data.Objects.ObjectQuery SOLICITUD DESCUENTOS EVENTUALES Oracle.ManagedDataAccess.Client.OracleExceptionORA-00972: el identificador es demasiado largo System.Data.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> Oracle.ManagedDataAccess.Client.OracleException: ORA-00972: el identificador es demasiado largo
at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)
at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteReader(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl& rdrImpl, Int32 longFetchSize, Int32 lobPrefetchSize, OracleDependencyImpl orclDependencyImpl, Int64[] scnForExecution, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, Boolean isDescribeOnly, Boolean isFromEF)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
--- End of inner exception stack trace ---
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
at System.Data.Objects.Internal.ObjectQueryExecutionPlan.ExecuteTResultType
at System.Data.Objects.ObjectQuery asked 27 Oct '14, 21:44 Josue Mancilla |
Ya tengo la respuesta para tu problema:
En conclusión es un error ya resuelto en una versión muy anterior a la actual. answered 30 Oct '14, 01:39 Fernando Paz ♦♦ |
En ambos casos falla en el mismo lugar y es un método en donde le pide a la base de datos todas las entidades (horas extras o descuentos eventuales) en donde el código de expediente que digitó la transacción es igual al código de expediente asociado al usuario autenticado. Revisa el código de expediente del usuario que está ingresando a esas pantallas. answered 27 Oct '14, 23:19 Fernando Paz ♦♦ |
No lo pude reproducir. Lo que me extraña es que habla del "identificador" muy largo. No será que hay una lista de valores que estas usando (modificada) y ahi has puesto un alias a una tabla mas largo de 30 caracteres? En el standard no falla, por lo que definitivamente no es un nombre de tabla estándar. answered 28 Oct '14, 15:39 sabanito ♦♦ Fijate que revisé las listas de valores y no hay ningún problema, todas están bien no estoy usando ninguna modificada.
(28 Oct '14, 17:20)
Josue Mancilla
|
Este es el REQUEST que me da al momento de dar clic en la opción de Solicitud de Horas Extras:
answered 28 Oct '14, 17:30 Josue Mancilla Fernando Paz ♦♦ Pone un profiler con EFProfiler y nos envias la instrucción select que genera la consulta al momento de ejecutar el request. Tengo la teoría que hay un nombre de objeto que tiene 30 caracteres y que al generar la instrucción select, como le pone unos alias a las tablas, este alias resulta en un identificador mayor de 30 caracteres.
(29 Oct '14, 01:08)
Fernando Paz ♦♦
Fernando te acabo de mandar los procedimientos que estan dando inconveniente a tu correo.
(29 Oct '14, 21:48)
Josue Mancilla
|
El error es bien claro: ORA-00972: el identificador es demasiado largo
¿Qué información estas enviando a guardar? Podrías incluir la información del Request
Fernando, el problema da desde que le das clic al hipervinculo de Solicitud de Horas Extras, es decir ni si quiera entra a la pantalla de la solicitud de horas extras.
Y probando con otra instalación de Evolution en Oracle estas opciones si funcionan, como validar que es lo que ocurre?
Por eso mismo, te estaba pidiendo que adjuntaras la información del REQUEST, para ver que está enviando al server.
Voy a ver si puedo reproducirlo en desarrollo en esa misma versión, ya les cuento...